package com.yunxi.sto.pojo;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.yunxi.core.web.DateJsonDeserializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 入库计划
 * </p>
 *
 * @author caoYong
 * @since 2019-05-17
 */
@Data
@ApiModel(value="StoStockInPlan对象", description="入库计划")
public class StoStockInPlanVO implements Serializable {

    @ApiModelProperty(value = "主键id")
    private String stockInPlanId;

    @ApiModelProperty(value = "组织代码")
    private String orgCode;

    @ApiModelProperty(value = "入库计划单号")
    private String stockInPlanNo;

    @ApiModelProperty(value = "单据状态(VehicleStock_InStatus 0新建,1准备入库,2完成入库,3作废,4充电中,5充电完成)")
    private String billState;

    @ApiModelProperty(value = "车辆VIN码")
    private String vin;

    @ApiModelProperty(value = "入库类型(VehicleInboundPlan_InboundType 1下线入库,2同城调拨入库,3退货入库,4送修入库,5换车入库,6借车入库,7海外车入库,11降级车入库,12异地调拨入库,13取消交货入库,14消耗领用冲销入库)")
    private String stockInType;

    @ApiModelProperty(value = "库位代码")
    private String storageCode;

    @ApiModelProperty(value = "入库日期")
    @JsonDeserialize(using = DateJsonDeserializer.class)
    private Date stockInDate;

    @ApiModelProperty(value = "手动入库原因")
    private String manualReason;

    @ApiModelProperty(value = "其它事项说明")
    private String remark;

    @ApiModelProperty(value = "创建时间")
    @JsonDeserialize(using = DateJsonDeserializer.class)
    private Date createTime;

    @ApiModelProperty(value = "创建人")
    private String createBy;

    @ApiModelProperty(value = "修改时间")
    @JsonDeserialize(using = DateJsonDeserializer.class)
    private Date updateTime;

    @ApiModelProperty(value = "修改人")
    private String updateBy;

    @ApiModelProperty(value = "版本")
    private Integer version;

    @ApiModelProperty(value = "是否发送(1是0否)")
    private Integer isSend;

    @ApiModelProperty(value = "是否作废(1是0否)")
    private Integer isDel;

    @ApiModelProperty(value = "开始入库日期")
    @JsonDeserialize(using = DateJsonDeserializer.class)
    private String stockInDateStart;

    @ApiModelProperty(value = "结束入库日期")
    @JsonDeserialize(using = DateJsonDeserializer.class)
    private String stockInDateEnd;

    @ApiModelProperty(value = "开始创建时间")
    @JsonDeserialize(using = DateJsonDeserializer.class)
    private Date createTimeStart;

    @ApiModelProperty(value = "结束创建时间")
    @JsonDeserialize(using = DateJsonDeserializer.class)
    private Date createTimeEnd;

    @ApiModelProperty(value = "入库计划单创建时间")
    @JsonDeserialize(using = DateJsonDeserializer.class)
    private Date billCreateTime;

    @ApiModelProperty(value = "PDA扫码时间")
    @JsonDeserialize(using = DateJsonDeserializer.class)
    private Date pdaScanTime;

    @ApiModelProperty(value = "入道闸时间")
    @JsonDeserialize(using = DateJsonDeserializer.class)
    private Date vdcInTime;

    @ApiModelProperty(value = "计划入库日期")
    private String planStockInDate;

    @ApiModelProperty(value = "开始计划入库日期")
    @JsonDeserialize(using = DateJsonDeserializer.class)
    private String planStockInDateStart;

    @ApiModelProperty(value = "结束计划入库日期")
    @JsonDeserialize(using = DateJsonDeserializer.class)
    private String planStockInDateEnd;

    @ApiModelProperty(value = "入库PDI检验员")
    private String pdiInsepecter;

    @ApiModelProperty(value = "计划订单号")
    private String zordNo;

    @ApiModelProperty(value = "入库人员RFID(司机RFID)")
    private String rfidNo;

    @ApiModelProperty(value = "入库人员电话")
    private String driverPhone;

    @ApiModelProperty(value = "分配司机日期")
    private Date rfidDate;

    @ApiModelProperty(value = "车系名称")
    private String seriesName;

    @ApiModelProperty(value = "车型名称")
    private String modelName;

    @ApiModelProperty(value = "车配置名称")
    private String catalogName;

    @ApiModelProperty(value = "内饰颜色名称")
    private String colorNameIn;

    @ApiModelProperty(value = "外饰颜色名称")
    private String colorNameOut;

    @ApiModelProperty(value = "当前库位名称")
    private String storageName;

    @ApiModelProperty(value = "维修单号")
    private String repairOrderNo;

    @ApiModelProperty(value = "充电操作者")
    private String chargeUser;

    @ApiModelProperty(value = "完成充电操作者")
    private String endChargeUser;

    @ApiModelProperty(value = "开始充电时间")
    private Date beginChargeDate;

    @ApiModelProperty(value = "结束充电时间")
    private Date endChargeDate;

    @ApiModelProperty(value = "未入库原因")
    private String lateInReason;

    @ApiModelProperty(value = "是否手动入库(1是,0否)")
    private Integer isManualIn;

}
